<!--
  ~ Copyright (c) 2020 the original author or authors
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      https://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
  ~ or implied. See the License for the specific language governing
  ~ permissions and limitations under the License.
  -->

<div class="app-user-list">
  <app-search-table
    [currentRole]="userRole$ | async"
    [requiredRole]="roleEnum.User"
    (inputSearch)="onSearch($event)"
    (modalWindow)="onInviteUser()"
    title="{{ 'users.title' | translate }}"
    buttonText="{{ 'users.create.add_button' | translate }}"
    searchPlaceholder="{{ 'users.search.app_title' | translate }}"
  >
  </app-search-table>
  <app-spinner *ngIf="isLoading$ | async"></app-spinner>
  <app-user-table
    class="app-table"
    [isLoading]="isLoading$ | async"
    [userRole]="userRole$ | async"
    [currentUserId]="currentUserId$ | async"
    [tableConfig]="tableConfig$ | userTableFilter: search | async"
    [availableRoles]="availableRoles$ | async"
    [createMessage]="message"
    [searchText]="search"
    (changeRow)="onChange($event)"
    (deleteUser)="onDelete($event)"
  >
  </app-user-table>
</div>
